package com.wavehi.utility.util.class_util.redis_util;

import lombok.Getter;

/**
 * @Description 规范Redis的key
 * @Author WaveHi
 * @Date 13/12/2021 下午 2:07
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 */
@Getter
public enum RedisKeys {
    //攻略顶操作key 实例
    BRUSH_PROOF("brush_proof", 60L),   //-1表示不设置时间
    STRATEGY_THUMB("strategy_thumb", -1L),   //-1表示不设置时间
    //用户攻略收藏结合key 实例
    USER_STRATEGY_FAVOR("user_strategy_favor", -1L),   //-1表示不设置时间
    //攻略统计vo对象key 实例
    STRATEGY_STATIS_VO("strategy_statis_vo", -1L),   //-1表示不设置时间
    //用户登录key 实例
    USER_LOGIN_TOKEN("user_login_token", Constant.USER_INFO_TOKEN_VAI_TIME * 60L ),
    //注册短信验证码key 实例
    REGIST_VERIFGY_CODE("register_verify_code", Constant.VERIFY_CODE_VAI_TIME * 60L );

    private String prefix;  // key的前缀
    private Long time;    //key有效时间， 单位是s
    private RedisKeys(String prefix, Long time){
        this.prefix = prefix;
        this.time = time;
    }
    //拼接出完整redis的key
    public String join(String... values){
        StringBuilder sb = new StringBuilder(80);
        sb.append(this.prefix);
        for (String value : values) {
            sb.append(":").append(value);
        }
        return sb.toString();
    }
}
